package com.ruoyi.flowable.api.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * 签署对象 work_sign
 *
 * @author fengcheng
 * @date 2025-03-18
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class WorkSign extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 签署ID
     */
    private Long signId;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 部门ID
     */
    private Long deptId;

    /**
     * 用户名称
     */
    private String userName;

    /**
     * 部门名称
     */
    private String deptName;

    /**
     * 文件名称
     */
    @Excel(name = "文件名称")
    private String fileName;

    /**
     * 文件份数
     */
    @Excel(name = "文件份数")
    private String fileShare;

    /**
     * 文件类型(1=公告类,2=规章制度类,3=合同类,4=其他)
     */
    @Excel(name = "文件类型", dictType = "work_sign_type")
    private String fileType;

    /**
     * 签署事由
     */
    @Excel(name = "签署事由")
    private String subject;

    /**
     * 流程定义ID
     */
    private String definitionId;

    /**
     * 流程ID
     */
    private String processId;

    /**
     * 流程名称
     */
    private String processName;

    /**
     * 审批进度(unapproved=未审批,running=进行中,terminated=已终止,completed=已完成,canceled=已取消)
     */
    @Excel(name = "审批进度", dictType = "common_schedule")
    private String schedule;

    /**
     * 签署日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "签署日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date signDate;

    /**
     * 删除标志(0代表存在,1代表删除)
     */
    private String delFlag;
}
